1. Field of the Invention
This invention relates to a data transmission system in which multimedia information robe transmitted is organized into packets and transmitted among nodes interconnected on a ring ATM (Asynchronous Transfer Mode) network.
2. Description of the Related Art
Conventional data transmission systems used in a ring ATM network are disclosed, for example, in Japanese Patent Application No. 3-107802, and "A Study on the Architecture of a High-Speed Ring Network (ATMR)" (Ito, et al: Switching Systems Engineering, IEICE Technical Report).
The construction of such ring network is described as follows with reference to FIGS. 1 and 2.
In FIG. 1, nodes 203-206 transmit data among each other in the form of packets (hereinafter referred to as ring cells) onto a pair of ring transmission paths in which ring cells circulate in opposite directions. Each of the ring cells is assigned one of three states: idle, occupied, or released for the purpose of guaranteeing each node fairness in the use of the ring cells. Each of the ring cells has a fixed length, including a pay load carrying 48-byte user information and a 5-byte header carrying other information such as an identification number of a destination node and status (ST) bits indicative to the state of the ring cell. A network managing unit 207 assigns each node a window on the number of ring cells it may transmit. Each node has terminals associated therewith, which may or may not have data to transmit. For example, terminals 201 and 202 are respectively connected with the nodes 204 and 205. FIG. 2 shows the configuration of one of the nodes shown in FIG. 1 associated with terminals 1501 and 1502.
The node receives ring cells through a cell input unit 1507.
A cell receiving unit 1508 checks the header of a ring cell received through the cell input unit 1507; if the ring cell is in the occupied state and has a destination address of its own node, user data is taken out from the ring cell.
Receiving buffers 1503 and 1504 store the user data taken out by the cell receiving unit 1508.
Transmitting buffers 1505 and 1506 store user data sent from the terminals 1501 and 1502.
A cell state transforming unit 1509 transforms, if necessary, the state of a ring cell and temporarily stores it.
A cell state managing unit 1510 manages the state of each ring cell and its transformation.
A cell transmitting unit 1511 first provides user data present in the transmitting buffers 1505 and 1506 with a necessary procedure such as designating a destination, and then transmits it as a ring cell onto one of the transmission paths.
The ring cell is transmitted from the node onto one of the transmission path through a cell output unit 1512.
The following is a description of the operation of the above-constructed ring network, provided that data organized in the form of a ring cell is transmitted from the terminal 201 to the terminal 202.
If the node 204 associated with the terminal 201 used every arriving ring cell exclusively to communicate with the node 205, the other nodes 203 and 206 positioned between them on the transmission path could not use a single ring cell. This is the reason that each node is assigned a window on the number of ring cells it may transmit.
In a connectionless type data transmission system, each node is assigned a fixed window. In a connection type data transmission system, on the other hand, each node is assigned a window band as desired by the network managing unit 207 in advance to every data transmission as follows:
Before transmitting data of its terminal 201, the node 204 requests the network managing unit 207 for a window band sufficient for a data transmission (setting logical connection). The network managing unit 207 judges whether the request is acceptable or not, based on the conditions of the use of the transmission paths or the window band already assigned to the node 204. If the request is acceptable, additional window band is assigned to the node 204 within a range that the overall window bands assigned to all the nodes does not exceed the entire window bands of the transmission paths.
The above-mentioned window band indicates the number of ring cells each node may transmit among all the ring cells arriving at the node and is defined as follows:
window band=(the number of ring cells which each node is guaranteed to use per a unit time)/(the number of ring cells arriving at each node per a unit time)
In this example, the speed of transmitting ring cells is about 1.4M cell/sec.. When the window band assigned to the node is 20k cell/sec., the window band becomes 1/70. The node 204 can transmit data, according to the assigned window band. Thus the assigned window band is controlled by the cell state managing unit 1510 having a window counter unit (not shown). The window counter unit counts up by 1 per 70 cells received and counts down by 1 every time one ring cell is transmitted. If the counter value is 1 or more, the window has not been exhausted (not reached the limit), when the counter value is 0, the window has been exhausted (reached the limit).
The operation of the nodes is described as follows with reference to FIG. 2.
When a ring cell traveling on a transmission path arrives, each node may either receive it, forward it as it is, or transform its state responding to the state thereof. The ring cells can be in the idle, occupied or released state.
1) An idle cell is a cell including no user data. When such cell arrives, each node may occupy the cell with data from its terminal if its window has not been exhausted, decrementing the window counter by 1.
2) An occupied cell is a cell including user data. When such cell arrives, each node forwards the cell as it is if the cell is bound for another node, and otherwise receives user data therefrom and then handles the cell in the same manner as handling an idle cell.
3) A released cell is a cell containing no user data and containing the address of the node which generated the cell, and is generated when the node has no data to be transmitted and has received an idle cell. When such cell arrives, each node may occupy the cell with data of its terminal even if its window has already been exhausted.
In FIG. 2, a ring cell arrived at a node is forwarded to the cell receiving unit 1508 and to the cell state transforming unit 1509. The cell receiving unit 1508 analyzes the header of the ring cell: when the cell has a destination address of its own and is in the occupied state, user data is taken out of the ring cell and stored in to either the receiving buffer 1503 or 1504. Otherwise, the cell is not stored in either buffer.
At the same time, the cell state transforming unit 1509 responds to a destination address and the state of the ring cell. When the ring cell is:
1) in the occupied state and bound for the node, the ring cell is transformed into an idle ring cell,
2) in the occupied state and bound for another node, its state is kept unchanged,
3) in the idle state, its state is kept unchanged,
4) in the released state and bound for the node which generated it, the ring cell is transformed into an idle ring cell,
5) in the released state and bound for another node, its state is kept unchanged.
Responding to the above-mentioned results, the cell state managing unit 1510 determines whether it should transmit the ring cell through the cell state transforming unit 1509 without transforming its state or transmit it through the cell transmitting unit 1511 after occupying it with data, responding to the state of the window and the presence or absence of data in the transmitting buffer. Such control of the cell state managing unit 1510 is described as follows with reference to FIG. 3.
Each pair of numbers appearing in the parentheses below corresponds to that appearing in FIG. 3, column 4.
(1) The window has not been exhausted and the transmitting buffer has data:
(1.1) if the transformed ring cell is in the occupied state, then the unit 1510 causes the cell state transforming unit 1509 to forward the ring cell as it is to the cell output unit 1512. This is because the ring cell is bound for another node.
(1.2) if the transformed ring cell is in the idle state, then the unit 1510 causes the cell transmitting unit 1511 to occupy the ring cell with data of its terminal and to transmit it to the cell output unit 1512. At this moment, the window counter decrements by one.
(1.3) if the transformed ring cell is in the released state, then the unit 1510 causes the cell transmitting unit 1511 to occupy the ring cell with data of its terminal and to transmit it to the cell output unit 1512. At this moment, the window counter is kept unchanged.
(2) the window has not been exhausted and the transmitting buffer has no data:
(2.1) if the transformed ring cell is in the occupied state, then the unit 1510 causes the cell state transforming unit 1509 to forward the ring cell as it is to the cell output unit 1512. This is the same as in (1.1).
(2.2) if the transformed ring cell is in the idle state, then the unit 1510 causes the cell transmitting unit 1511 to make the ring cell be bound for the node which generated it and be in the released state, and transmits the transformed ring cell into the cell output unit 1512. At this moment, the window counter decrements by one. The reason that the ring cell is transformed into a released cell is to give the right to use the ring cell to another node whose window has been already exhausted.
(2.3) if the transformed ring cell is in the released state, then the unit 1510 causes the cell state transforming unit 1509 to forward the ring cell as it is to the cell output unit 1512.
(3) The window has been exhausted and the transmitting buffer has data:
(3.1) if the transformed ring cell is in the occupied state, then the unit 1510 causes the cell state transforming unit 1509 to forward the ring cell as it is to the cell output unit 1512. This is the same as in (1.1).
(3.2) if the transformed ring cell is in the idle state, then the unit 1510 causes the cell state transforming unit 1509 to forward the ring cell as it is to the cell output unit 1512.
(3.3) if the transformed ring cell is in the released state, then the unit 1510 causes the cell transmitting unit 1511 to occupy the ring cell with data of its terminal and transmit it to the cell output unit 1512.
(4) The window has not been exhausted and the transmitting buffer has no data, the unit 1510 causes the cell state transforming unit 1509 to forward the ring cell as it is to the cell output unit 1512, regardless of the state transformed by the cell state transforming unit 1509.
As described hereinbefore, the conventional ring network is characterized in that ring cells are allocated to one of those three states. Data to be transmitted in such a ring network is, for example, CBR (Continuous Bit Rate) data requiring periodic arrival of information such as voice, or VBR (Variable Bit Rate) data, which easily goes into a burst mode. This ring network guarantees each node the use of idle ring cells corresponding to the window band assigned thereto, so that it is suitable for CBR data transmission. The ring network also allows the use of released cells.
If 60% is actually exhausted out of the total window bands assigned to each node, then the remaining 40% corresponds to released cells on the ring. When VBR data having a burst mode such as computer data is transmitted, it may temporarily require data transmission above the assigned window band. This is manageable by using released cells having no window of its use. Such use of released cells allows the conventional ring network to balance the use of window band among all the nodes, thereby enhancing data throughput.
In addition, the ring network, when both CBR data and VBR data are transmitted, uses the reserved cell communication system to guarantee the transmission of CBR data having a smaller delay time capacity. This system has a reserved cell phase and a using cell phase.
In the reserved cell phase, the nodes reserve the use of ring cells to ensure the number of ring cells required to transmit CBR data. For example, if a node is informed by another node of the transmission of CBR data corresponding to N cells per T time, a reserve bit and the address of the node which reserved the cells are set.
In the using cell phase, each node, upon receiving a reserved cell, forwards the cell as it is unless it is a cell of its own reservation. The node which reserved it occupies the cell with data of its terminal after confirming the reserve bit and the address of the node which reserved it. This procedure is continued until the connection is disconnected.
The reserved cells return to the originating node without being used in the other nodes even if they are in a reusable state. Thus, according to the reserved cell communication system, cells to be used for CBR data in a certain time interval can be ensured.
However, the conventional ring network system fails to guarantee fairness in the use of released cells among all the nodes. In other words, when node occupies all of the released cell available, a lower node may be prevented from using them.
Furthermore, according to the conventional ring network system, in the cell reservation phase, every cell to be reserved requires the setting of a reserve bit and the address of the node which reserved the cell. This may increase delay time for cell transmission. In addition, when several nodes each reserve the number of cells required, these nodes can transmit data safely (multiplexed); however, not all reserved cells are used. And even if there is a reserved cell available, the other nodes cannot use it. This makes it difficult to transmit VBR data, thus deteriorating the efficiency of data throughput in accordance with the increase in the number of multiplexed data transmission.